import numpy as np
import pandas as pd
form sklearn.preprocessing import MinMaxScaler
import tensorflow as tf
from joblib import load 

class NN(object):
    def __init__(self):
        self.loaded_model=tf.keras.models.load_model('NN/my_model.keras')
        self.scaler=load('NN/scaler.joblib')
        
        
    def get_hourlt_trend(self):
        n_steps =7
        df_pivot=pd.read_csv('NN/scenic_data.csv')
        
        latest_data=df_pivot.iloc[-n_steps:].values #
        latest_data=latest_data.reshape(1,n_steps,latest_data.shape[1])
        
        #
        predicted=self.loaded_model.predict(latest_data)
        predicted_counts =self.scaler.inverse_transform(predicted)#反归一化
        predicted_counts[predicted_counts < 0 ]=0
        hourly_trend =predicted_counts[0].astype(int).tolist()
        
        print(hourly_trend)
        
if __name__ == '__main__':
    NN= NN()
    nn.get_hourly_trend()